// utils.js
const db = uniCloud.database();
const queryDb = uniCloud.databaseForJQL()

const emoticon_list_table_name = 'emoticon-list';

const album_list_table_name = 'album-list';

const background_list_table_name = 'background-list';

const head_list_table_name = 'head-list';

//添加数据
export function addData(model) {
	var table_name = 'resource-list';


	return new Promise((resolve, reject) => {
		db.collection(table_name).add(model).then((res) => {
			// res 为数据库查询结果
			console.log('添加数据成功==', res);
			if (res.result.errCode == 0) {
				resolve(true);
			} else {
				reject('发布失败');
			}
		}).catch((err) => {
			console.log(err.message)
			console.log('添加数据成功-失败结果回调', err.message);
			reject(err.message);
		});
	});
}




//获取资源列表
export function get_data_list(type, pageNo, pageSize) {
	var map = {};
	if (pageNo == 1) {
		pageNo = 0
	}
	var skip = pageNo * pageSize
	var tableNaame = 'resource-list';
	if (type != '推荐') {
		map.type = type
	}
	return new Promise((resolve, reject) => {
		db.collection(tableNaame).where(map).skip(skip).limit(pageSize).get().then((res) => {
			// res 为数据库查询结果
			console.log('查询资源列表', res.result);
			if (res.result.errCode == 0) {
				resolve(res.result.data);
			} else {
				resolve([]);
			}
		}).catch((err) => {
			console.log('查询资源列表-失败', err.message);
			reject(err);
		});
	});

};

//获取资源总数
export function get_resource_count() {
	return new Promise((resolve, reject) => {
		db.collection('resource-list').count().then((res) => {
			// res 为数据库查询结果
			console.log('获取用户总数', res.total);
			if (res.result.errCode == 0) {
				resolve(res.result.total);
			} else {
				resolve(0);
			}
		}).catch((err) => {
			console.log('获取类型列表-失败', err.message);
			reject(err);
		});
	});

};
//获取分类
export function get_type_list() {
	return new Promise((resolve, reject) => {
		db.collection('type-list').orderBy('sortValue', 'desc').get().then((res) => {
			console.log('获取分类', res.result);
			if (res.result.errCode == 0) {
				resolve(res.result.data);
			} else {
				reject([]);
			}
		}).catch((err) => {
			console.log('获取分类', err.message);
			reject([]);
		});
	});
};


//添加分类数据
export function add_type(typeStr) {
	var table_name = 'type-list';
	var map = {
		"typeStr": typeStr,
		"sortValue": '0',
		"queryAll": '0'
	}
	return new Promise((resolve, reject) => {
		db.collection(table_name).add(map).then((res) => {
			// res 为数据库查询结果
			console.log('添加分类数据成功==', res);
			if (res.result.errCode == 0) {
				resolve(true);
			} else {
				reject('添加分类数据失败');
			}
		}).catch((err) => {
			console.log(err.message)
			console.log('添加分类数据-失败结果回调', err.message);
			reject(err.message);
		});
	});
}
//更新分类数据
export function update_type_data(model) {
	var _id = model._id;
	model._id = undefined;
	var table_name = 'type-list'
	console.log('修改11==', model);
	return new Promise((resolve, reject) => {
		db.collection(table_name).where({
			_id: _id
		}).update(model).then((res) => {
			console.log('更新分类信息成功==', res);
			if (res.result.errCode == 0) {
				resolve(true);
			} else {
				reject('保存排序失败');
			}
		}).catch((err) => {
			console.log(err.message)
			console.log('更新分类信息成功', err.message);
			reject(err.message);
		});
	});
};

//删除 类型数据
export function delete_type_id(id) {
	var tableNaame = 'type-list';
	console.log('删除信息==', tableNaame, 'id=', id)
	return new Promise((resolve, reject) => {
		db.collection(tableNaame).where({
			_id: id
		}).remove().then((res) => {
			console.log('删除信息==', res.result);
			if (res.result.errCode == 0) {
				resolve(true);
			} else {
				reject('删除数据失败');
			}
		}).catch((err) => {
			console.log('删除信息失败', err.message);
			reject(err.message);
		});
	});
};


//查询
export function query_admin_data(account) {
	var table_name = 'admin-list'
	var str = 'account == ' + account;
	console.log('传入的account', str);
	return new Promise((resolve, reject) => {
		db.collection(table_name).where({
			"account": account
		}).get().then((res) => {
			console.log('查询用户是否存在', res.result);
			var res2 = {};
			res2.existence = false;
			if (res.result.errCode == 0 && res.result.data.length > 0) {
				res2.existence = true;
				res2.data = res.result.data[0];
				resolve(res2);
			} else {
				reject('账号不存在');
			}
		}).catch((err) => {
			console.log(err.message)
			console.log('查询用户是否存在-失败结果回调', err.message);
			reject(err.message);
		});
	});
};

//删除 资源
export function delete_resources_id(id) {
	var tableNaame = 'resource-list';
	console.log('资源删除==', tableNaame, 'id=', id)
	return new Promise((resolve, reject) => {
		db.collection(tableNaame).where({
			_id: id
		}).remove().then((res) => {
			console.log('删除信息==', res.result);
			if (res.result.errCode == 0) {
				resolve(true);
			} else {
				reject('删除数据失败');
			}
		}).catch((err) => {
			console.log('删除信息失败', err.message);
			reject(err.message);
		});
	});
};